﻿#define _CRT_SECURE_NO_WARNINGS 1
//#include <stdio.h>
//#include <stdlib.h>
//#include <stdarg.h>
//
//// 自定义 sprintf 函数
//int my_sprintf(char * str, const char * format, ...)
//{
//	va_list args;
//	int written = 0;
//
//	// 初始化可变参数列表
//	va_start(args, format);
//
//	// 遍历格式字符串
//	while (*format != '\0') {
//		if (*format == '%') {
//			// 处理占位符
//			const char * fmt = format + 1;
//			switch (*fmt) {
//				case 'd':
//				// 整数格式化
//				written += sprintf(str + written, "%d", va_arg(args, int));
//				break;
//				case 's':
//				// 字符串格式化
//				written += sprintf(str + written, "%s",va_arg(args, char *));
//				break;
//                default:
//				// 未知格式，直接复制占位符
//				*str++ = '%';
//				*str++ = *fmt;
//				break;
//			}
//			format = fmt + 1;
//		}
//		else {
//				// 直接复制普通字符
//				*str++ = *format++;
//		}
//	}
//
//	// 结束可变参数列表
//	va_end(args);
//
//	// 添加字符串结尾的 '\0'
//	*str = '\0';
//
//	return written;
//}
//
//int main() {
//	char buffer[100]="lisiAlice25";
//
//	// 调用自定义的 sprintf 函数进行格式化输出
//	my_sprintf(buffer, "Name: %s, Age: %d", "Alice", 25);
//
//	// 输出结果
//	printf("Formatted string: %s\n", buffer);
//
//	return 0;
//}

//#include <stdio.h>
//
//// 模拟实现 strchr 函数
//const char * my_strchr(const char * string, char target)
//{
//	for (; *string  != '\0'; string++)
//	{
//		if (*string == target)
//		{
//			return string;
//		}
//	} 
//	return NULL;
//}
//
//int main() {
//	const char * string = "Hello, World!";
//	char target = 'l';
//
//	// 使用模拟的 my_strchr 函数查找字符
//	const char * found = my_strchr(string, target);
//
//	if (found !=NULL)
//	{
//		printf("Character'%c'found at index:%zu\n", target, found - string);
//	}
//	else 
//	{
//		printf("Character'%c' not found in string\n", target);
//	}
//
//	return 0;
//}


//#include <stdio.h>
//#include <string.h>
//
//// 解析 strtok 函数
//void parse_strtok() {
//	char string[] = "apple,banana,cherry";
//	char delimiter[] = ",";
//
//	// 使用 strtok 函数分割字符串
//	char * token = strtok(string, delimiter);
//	while (token != NULL) {
//		printf("%s\n", token);
//		token = strtok(NULL, delimiter);
//	}
//}
//
//int main() {
//	parse_strtok();
//	return 0;
//}


